<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>OpenShoe: usb_protocol.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenShoe
   &#160;<span id="projectnumber">0.1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">usb_protocol.h File Reference</div>  </div>
</div>
<div class="contents">

<p>USB protocol definitions.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="usb__atmel_8h_source.html">usb_atmel.h</a>&quot;</code><br/>
</div>
<p><a href="usb__protocol_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__setup__req__t.html">usb_setup_req_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A USB Device SETUP request.  <a href="structusb__setup__req__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__dev__desc__t.html">usb_dev_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB device descriptor stucture.  <a href="structusb__dev__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__dev__qual__desc__t.html">usb_dev_qual_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB device qualifier descriptor structure.  <a href="structusb__dev__qual__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__association__desc__t.html">usb_association_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB Interface Association Descriptor structure.  <a href="structusb__association__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__conf__desc__t.html">usb_conf_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB configuration descriptor structure.  <a href="structusb__conf__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__iad__desc__t.html">usb_iad_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB association descriptor structure.  <a href="structusb__iad__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__iface__desc__t.html">usb_iface_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB interface descriptor structure.  <a href="structusb__iface__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__ep__desc__t.html">usb_ep_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB endpoint descriptor stcuture.  <a href="structusb__ep__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__str__desc__t.html">usb_str_desc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A standard USB string descriptor sructure.  <a href="structusb__str__desc__t.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structusb__str__lgid__desc__t.html">usb_str_lgid_desc_t</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga9bccec980a4f41a481b389b4f0c9c690">USB_V2_0</a>&#160;&#160;&#160;0x0200</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Value for field bcdUSB.  <a href="group__usb__protocol__group.html#ga9bccec980a4f41a481b389b4f0c9c690"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga3fae7189eea003bf79ac2949b0f50584">USB_REQ_DIR_OUT</a>&#160;&#160;&#160;(0&lt;&lt;7)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">USB request data transfer direction (bmRequestType)  <a href="group__usb__protocol__group.html#ga3fae7189eea003bf79ac2949b0f50584"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga3d3c24265f68a720887ae4ff7158d605">USB_REQ_DIR_IN</a>&#160;&#160;&#160;(1&lt;&lt;7)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Device to host.  <a href="group__usb__protocol__group.html#ga3d3c24265f68a720887ae4ff7158d605"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gac94f5ec9106e17f2e6d927eeac3d530f">USB_REQ_DIR_MASK</a>&#160;&#160;&#160;(1&lt;&lt;7)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask.  <a href="group__usb__protocol__group.html#gac94f5ec9106e17f2e6d927eeac3d530f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga3eb781776ab6dcbc6fa96e1b0ed18011">USB_REQ_TYPE_STANDARD</a>&#160;&#160;&#160;(0&lt;&lt;5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">USB request types (bmRequestType)  <a href="group__usb__protocol__group.html#ga3eb781776ab6dcbc6fa96e1b0ed18011"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaff9ee0044c6cb131b2908356adc37dff">USB_REQ_TYPE_CLASS</a>&#160;&#160;&#160;(1&lt;&lt;5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Class-specific request.  <a href="group__usb__protocol__group.html#gaff9ee0044c6cb131b2908356adc37dff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga71855621792f72443ed5497b313a2517">USB_REQ_TYPE_VENDOR</a>&#160;&#160;&#160;(2&lt;&lt;5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Vendor-specific request.  <a href="group__usb__protocol__group.html#ga71855621792f72443ed5497b313a2517"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga8be8332e2da1e54c74c5f2a2230b0a28">USB_REQ_TYPE_MASK</a>&#160;&#160;&#160;(3&lt;&lt;5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask.  <a href="group__usb__protocol__group.html#ga8be8332e2da1e54c74c5f2a2230b0a28"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga65c1569b970837dd4a2ad8e1b4097589">USB_REQ_RECIP_DEVICE</a>&#160;&#160;&#160;(0&lt;&lt;0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">USB recipient codes (bmRequestType)  <a href="group__usb__protocol__group.html#ga65c1569b970837dd4a2ad8e1b4097589"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gad3d0e7d70c610967cc2ee12c5298ac69">USB_REQ_RECIP_INTERFACE</a>&#160;&#160;&#160;(1&lt;&lt;0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recipient interface.  <a href="group__usb__protocol__group.html#gad3d0e7d70c610967cc2ee12c5298ac69"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga1be00350ff83d022d41b4eae81f1e2b2">USB_REQ_RECIP_ENDPOINT</a>&#160;&#160;&#160;(2&lt;&lt;0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recipient endpoint.  <a href="group__usb__protocol__group.html#ga1be00350ff83d022d41b4eae81f1e2b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gabb5706061604f770d2ce1f3891ab0296">USB_REQ_RECIP_OTHER</a>&#160;&#160;&#160;(3&lt;&lt;0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Recipient other.  <a href="group__usb__protocol__group.html#gabb5706061604f770d2ce1f3891ab0296"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gab1738c19d49fe1d4c7edccff90e9e9e4">USB_REQ_RECIP_MASK</a>&#160;&#160;&#160;(0x1F)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask.  <a href="group__usb__protocol__group.html#gab1738c19d49fe1d4c7edccff90e9e9e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga0316d8f43a1648b76df257332b26aeb9">USB_EP_ADDR_MASK</a>&#160;&#160;&#160;0x0f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask selecting the index part of an endpoint address.  <a href="group__usb__protocol__group.html#ga0316d8f43a1648b76df257332b26aeb9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaae8411e95f26738326bc25a0161dde99">USB_EP_DIR_IN</a>&#160;&#160;&#160;0x80</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint transfer direction is IN.  <a href="group__usb__protocol__group.html#gaae8411e95f26738326bc25a0161dde99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga0510b0a04d9cef144e4d9793310abccf">USB_EP_DIR_OUT</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Endpoint transfer direction is OUT.  <a href="group__usb__protocol__group.html#ga0510b0a04d9cef144e4d9793310abccf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga27dacd4e0b04d4ef7b8aadf6ea886f3c">USB_MAX_DESC_LEN</a>&#160;&#160;&#160;255</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum length in bytes of a USB descriptor.  <a href="group__usb__protocol__group.html#ga27dacd4e0b04d4ef7b8aadf6ea886f3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gac7063e965def0eaeb4d45a6f9048dc53">USB_CONFIG_ATTR_MUST_SET</a>&#160;&#160;&#160;(1 &lt;&lt; 7)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Must always be set.  <a href="group__usb__protocol__group.html#gac7063e965def0eaeb4d45a6f9048dc53"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga10945c8d92454009444979c38b9d2cca">USB_CONFIG_ATTR_BUS_POWERED</a>&#160;&#160;&#160;(0 &lt;&lt; 6)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Bus-powered.  <a href="group__usb__protocol__group.html#ga10945c8d92454009444979c38b9d2cca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaf1b445db8c331630bbedb383544ed80b">USB_CONFIG_ATTR_SELF_POWERED</a>&#160;&#160;&#160;(1 &lt;&lt; 6)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Self-powered.  <a href="group__usb__protocol__group.html#gaf1b445db8c331630bbedb383544ed80b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gab8f513d1888f75d8e18960e1b1f3f747">USB_CONFIG_ATTR_REMOTE_WAKEUP</a>&#160;&#160;&#160;(1 &lt;&lt; 5)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remote wakeup supported  <a href="group__usb__protocol__group.html#gab8f513d1888f75d8e18960e1b1f3f747"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga55d9db758a4f408eebf4b26c6001ac9b">USB_CONFIG_MAX_POWER</a>(ma)&#160;&#160;&#160;(((ma) + 1) / 2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Max power in mA.  <a href="group__usb__protocol__group.html#ga55d9db758a4f408eebf4b26c6001ac9b"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Generic definitions (Class, subclass and protocol)</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga6ce548e51895ce0226ee145753a9c815">NO_CLASS</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaac34c41004ffdf924a770974fd4152d7">NO_SUBCLASS</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaa5e6e8476d28aa6869786f87751144d0">NO_PROTOCOL</a>&#160;&#160;&#160;0x00</td></tr>
<tr><td colspan="2"><div class="groupHeader">IAD (Interface Association Descriptor) constants</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gae8971589b19dfa71052d651617324566">CLASS_IAD</a>&#160;&#160;&#160;0xEF</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaa4e56ac456064b641e2a3a58ea5a4ed3">SUB_CLASS_IAD</a>&#160;&#160;&#160;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga8e85bf6a9a6702c71c68dbc5c4164b9f">PROTOCOL_IAD</a>&#160;&#160;&#160;0x01</td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gab43332ff8dbad3dd3c8c882b1bd68a89">usb_reqid</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89aa3f531db07d9720f1c27d383f17b41e7">USB_REQ_GET_STATUS</a> =  0, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a3e7df41451462e9647ea51127b1029cb">USB_REQ_CLEAR_FEATURE</a> =  1, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89ac6f6f92b41b3626f3bee5585bc8ad259">USB_REQ_SET_FEATURE</a> =  3, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a83a1bafe1cb5a0722e661037a7409d38">USB_REQ_SET_ADDRESS</a> =  5, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a1eefe8e6e18013141d267fc8aba28b10">USB_REQ_GET_DESCRIPTOR</a> =  6, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a2297324ad7de09fcff189cb08b6e3357">USB_REQ_SET_DESCRIPTOR</a> =  7, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a70ecb7290067da81c599637126d78c32">USB_REQ_GET_CONFIGURATION</a> =  8, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a8469bf7cfc2e560c005b564fe66db0ee">USB_REQ_SET_CONFIGURATION</a> =  9, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a68374dc6cca8653dcd52953ba9f80b1c">USB_REQ_GET_INTERFACE</a> =  10, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a1af0d8916fca29961f41fb7433126527">USB_REQ_SET_INTERFACE</a> =  11, 
<a class="el" href="group__usb__protocol__group.html#ggab43332ff8dbad3dd3c8c882b1bd68a89a0d759eec2d7eab896e61ff927e1752d1">USB_REQ_SYNCH_FRAME</a> =  12
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB requests (bRequest)  <a href="group__usb__protocol__group.html#gab43332ff8dbad3dd3c8c882b1bd68a89">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga5c6f61a70ef0fda1a1d6f9a34f2f0f1c">usb_device_status</a> { <a class="el" href="group__usb__protocol__group.html#gga5c6f61a70ef0fda1a1d6f9a34f2f0f1cabba07ddaf5eb0b763086ab99ed82b59f">USB_DEV_STATUS_BUS_POWERED</a> =  0, 
<a class="el" href="group__usb__protocol__group.html#gga5c6f61a70ef0fda1a1d6f9a34f2f0f1ca762e18607a236d99504f5838e96beb36">USB_DEV_STATUS_SELF_POWERED</a> =  1, 
<a class="el" href="group__usb__protocol__group.html#gga5c6f61a70ef0fda1a1d6f9a34f2f0f1ca9e2a686363488906b279116d3d66103c">USB_DEV_STATUS_REMOTEWAKEUP</a> =  2
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB device status flags.  <a href="group__usb__protocol__group.html#ga5c6f61a70ef0fda1a1d6f9a34f2f0f1c">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga61c6d9f1bcc6112f394333fac658d627">usb_interface_status</a> { <a class="el" href="group__usb__protocol__group.html#gga61c6d9f1bcc6112f394333fac658d627a00df9dc714d093525b1f0163f6625329">USB_IFACE_STATUS_RESERVED</a> =  0
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB Interface status flags.  <a href="group__usb__protocol__group.html#ga61c6d9f1bcc6112f394333fac658d627">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gaf926ff975fcda57f214001b51f15092d">usb_endpoint_status</a> { <a class="el" href="group__usb__protocol__group.html#ggaf926ff975fcda57f214001b51f15092dae0ba5849fded7e7ea411f11bd627b040">USB_EP_STATUS_HALTED</a> =  1
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB endpoint status flags.  <a href="group__usb__protocol__group.html#gaf926ff975fcda57f214001b51f15092d">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gab9975b89ad7079085d0300eab037c3ac">usb_device_feature</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggab9975b89ad7079085d0300eab037c3aca9d1f5e6a07463ac38743db611c2c414a">USB_DEV_FEATURE_REMOTE_WAKEUP</a> =  1, 
<a class="el" href="group__usb__protocol__group.html#ggab9975b89ad7079085d0300eab037c3aca6724ffaefab5a3c54b199c4d1ea7b6ff">USB_DEV_FEATURE_TEST_MODE</a> =  2, 
<a class="el" href="group__usb__protocol__group.html#ggab9975b89ad7079085d0300eab037c3aca57260a8f513dcdd3bd2285d53d09eee6">USB_DEV_FEATURE_OTG_B_HNP_ENABLE</a> =  3, 
<a class="el" href="group__usb__protocol__group.html#ggab9975b89ad7079085d0300eab037c3acaa1a5410f25b09a7351d8701574770e5a">USB_DEV_FEATURE_OTG_A_HNP_SUPPORT</a> =  4, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggab9975b89ad7079085d0300eab037c3acac16fde59a39765321c5649b7f23145cb">USB_DEV_FEATURE_OTG_A_ALT_HNP_SUPPORT</a> =  5
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB device feature flags.  <a href="group__usb__protocol__group.html#gab9975b89ad7079085d0300eab037c3ac">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga9027bb283d3666e351fe5c403292cf2e">usb_device_hs_test_mode</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga9027bb283d3666e351fe5c403292cf2ea713e4c1b7782e135f6e269d98fdd8ce5">USB_DEV_TEST_MODE_J</a> =  1, 
<a class="el" href="group__usb__protocol__group.html#gga9027bb283d3666e351fe5c403292cf2ea7ca60c446646b513db46c8d70f95246d">USB_DEV_TEST_MODE_K</a> =  2, 
<a class="el" href="group__usb__protocol__group.html#gga9027bb283d3666e351fe5c403292cf2eacf3a0aaed1aab82bfee139fd1b3f8126">USB_DEV_TEST_MODE_SE0_NAK</a> =  3, 
<a class="el" href="group__usb__protocol__group.html#gga9027bb283d3666e351fe5c403292cf2eaae5d97af6d3f98cd6e4fc15d9a5eb5e9">USB_DEV_TEST_MODE_PACKET</a> =  4, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga9027bb283d3666e351fe5c403292cf2ea018bc9685230b902d4432c5705161df3">USB_DEV_TEST_MODE_FORCE_ENABLE</a> =  5
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Test Mode possible on HS USB device.  <a href="group__usb__protocol__group.html#ga9027bb283d3666e351fe5c403292cf2e">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gac46bc23132eb03cefa56ba47024ced5d">usb_endpoint_feature</a> { <a class="el" href="group__usb__protocol__group.html#ggac46bc23132eb03cefa56ba47024ced5daa346bf01bfcb9964e754b44c9b999d16">USB_EP_FEATURE_HALT</a> =  0
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB endpoint feature/status flags.  <a href="group__usb__protocol__group.html#gac46bc23132eb03cefa56ba47024ced5d">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gade3fc5b71e88ed167a8c8d67ee087db3">usb_test_mode_selector</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggade3fc5b71e88ed167a8c8d67ee087db3ad8a1b477f0fa871dbde208745635eb09">USB_TEST_J</a> =  0x01, 
<a class="el" href="group__usb__protocol__group.html#ggade3fc5b71e88ed167a8c8d67ee087db3adf91b3ec7a11997b124e2ecb2bcb3965">USB_TEST_K</a> =  0x02, 
<a class="el" href="group__usb__protocol__group.html#ggade3fc5b71e88ed167a8c8d67ee087db3a14e0870eb309e2408717e26febf54c5f">USB_TEST_SE0_NAK</a> =  0x03, 
<a class="el" href="group__usb__protocol__group.html#ggade3fc5b71e88ed167a8c8d67ee087db3a11aadaaa6768ad9140a0ad6f8543d245">USB_TEST_PACKET</a> =  0x04, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#ggade3fc5b71e88ed167a8c8d67ee087db3ae6d07dd0dfbb61581ad6d548ab26904a">USB_TEST_FORCE_ENABLE</a> =  0x05
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB Test Mode Selectors.  <a href="group__usb__protocol__group.html#gade3fc5b71e88ed167a8c8d67ee087db3">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga87d46dd117d939964c939f1518dec93f">usb_descriptor_type</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93faf57d79677304d9cc81a1e08769259c56">USB_DT_DEVICE</a> =  1, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fa30b73c8e214a98c686c6e97aabc3b3d7">USB_DT_CONFIGURATION</a> =  2, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93faa745915a1e9b09eba35fdd2d455d5100">USB_DT_STRING</a> =  3, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fa5d95804e21ff8a4aba8f9806c5f35edc">USB_DT_INTERFACE</a> =  4, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fa2b4e1c2a152ef2c70fd494de1806e325">USB_DT_ENDPOINT</a> =  5, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fab135351d3cd9a92a46b80fbb28d0f1b3">USB_DT_DEVICE_QUALIFIER</a> =  6, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fa629e5f41e4643166d544404799d323ea">USB_DT_OTHER_SPEED_CONFIGURATION</a> =  7, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93faae58238f1f4dd82be5f7797daa88f972">USB_DT_INTERFACE_POWER</a> =  8, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fa7085a50a6df3338204b21aa106e68ab8">USB_DT_OTG</a> =  9, 
<a class="el" href="group__usb__protocol__group.html#gga87d46dd117d939964c939f1518dec93fae32d49584455205c80a5675e933810f5">USB_DT_IAD</a> =  0x0B
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB descriptor types.  <a href="group__usb__protocol__group.html#ga87d46dd117d939964c939f1518dec93f">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga666def795a15032e5bf93a450f79113f">usb_ep_type</a> { <br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga666def795a15032e5bf93a450f79113fa134795bdea12ea96534b37c9f606d497">USB_EP_TYPE_CONTROL</a> =  0x00, 
<a class="el" href="group__usb__protocol__group.html#gga666def795a15032e5bf93a450f79113fa93bb5aaf88b4842a0bed6a6380790c1e">USB_EP_TYPE_ISOCHRONOUS</a> =  0x01, 
<a class="el" href="group__usb__protocol__group.html#gga666def795a15032e5bf93a450f79113fa173f6c972814d347875b71d85ddfc1b1">USB_EP_TYPE_BULK</a> =  0x02, 
<a class="el" href="group__usb__protocol__group.html#gga666def795a15032e5bf93a450f79113fa2b6d776cb0d3f3812620bda8fc51439b">USB_EP_TYPE_INTERRUPT</a> =  0x03, 
<br/>
&#160;&#160;<a class="el" href="group__usb__protocol__group.html#gga666def795a15032e5bf93a450f79113fa8169dcca1e5ea5ef9e0d11155b9728bb">USB_EP_TYPE_MASK</a> =  0x03
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB endpoint transfer types.  <a href="group__usb__protocol__group.html#ga666def795a15032e5bf93a450f79113f">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga1f92deaf695c06566999f0c5343978c1">usb_langid</a> { <a class="el" href="group__usb__protocol__group.html#gga1f92deaf695c06566999f0c5343978c1a8acad914e2d28c9bb1d2d3cc74c5b39e">USB_LANGID_EN_US</a> =  0x0409
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard USB language IDs for string descriptors.  <a href="group__usb__protocol__group.html#ga1f92deaf695c06566999f0c5343978c1">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#ga14096700b3ed8c5168615c5c5ee1c68d">COMPILER_PACK_SET</a> (1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb__protocol__group.html#gabe317a1520896eaf568afab27dc71540">COMPILER_PACK_RESET</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>USB protocol definitions. </p>
<p>This file contains the USB definitions and data structures provided by the USB 2.0 specification.</p>
<p>Copyright (C) 2009 Atmel Corporation. All rights reserved. </p>
</div></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 19 2011 21:04:53 for OpenShoe by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
